Loading...
 

Analiza izogeometryczna na siatkach adaptacyjnych

Siatki adaptacyjne zbudowane z elementów prostokątnych o różnej wielkości również umożliwiają przeprowadzanie obliczeń za pomocą analizy izogeometrycznej. Po pierwsze, jeśli grupy elementów różnego rozmiaru zostaną przedzielone za pomocą \( C^0 \) separatorów, wówczas na każdym bloku elementów możemy wygenerować wektory węzłów opisujące funkcje bazowe, i scalić je tak jak opisano to w rozdziale Aproksymacja na siatkach z wiszącymi węzłami.
Innym szeroko stosowanym podejściem jest stosowanie funkcji bazowych T-spline. Zostały one wynalezione w 2003 roku przez Thomasa Sederberga i innych autorów [1]. Doczekały się one nawet patentu w USA [2].
Funkcje T-spline stosuje się w analizie izogeometrycznej [3]. Są one modyfikacją funkcji B-spline która pozwala na rozpinanie ich na siatkach adaptacyjnych. Każda funkcja B-spline rozpina się na szeregu segmentów w kierunku poziomym i pionowym, które określają grupę elementów na których jest ona rozpięta (na których przyjmuje niezerowe wartości). Punkt w którym przyjmuje ona wartość maksymalną, znajduje się albo na środku elementu (w przypadku funkcji B-spline parzystego rzędu) lub na wierzchołku znajdującym się na granicy elementów (w przypadku funkcji B-spline nieparzystego rzędu). Możemy więc myśleć o funkcjach B-spline jako o funkcjach związanych ze środkami elementów lub wierzchołkami siatki (w zależności od stopnia funkcji B-spline). Funkcja B-spline rzędu \( p \) rozpina się na \( 2p-1 \) elementach. Na przyklad dla funkcji B-spline rzędu drugiego mamy \( 2*2-1=3 \) elementy, czyli 1 element na którym znajduje się środek (maksimum funkcji) oraz 1 element z lewej strony i 1 element z prawej strony. Gdyby narysować linię poziomą od środka funkcji B-spline w lewą i prawą, i znaleźć przecięcia tej linii z krawędziami elementów, wówczas dla B-spline'a drugiego stopnia musimy znaleźć 2 przecięcia z lewej i 2 przecięcia z prawej strony, i dostaniemy wszystkie segmentyy rozpięte na elementach na których rozpina się nasz B-spline.
Ideą funkcji T-spline jest uogólnienie tej ideii na siatki adaptowalne. Rozważmy dla ustalenia uwagi parzysty stopień funkcji T-spline. Jeśli mamy siatkę adaptowaną, z elementami o różnym rozmiarze, wówczas możemy związać każdą funkcje T-spline ze środkiem jakiegoś elementu. Następnie wzdłuż linii w kierunku pionowym i poziomym znajdujemy przecięcia z krawędziami elementów. Dla T-spline'a drugiego stopnia musimy znaleźć 2 przecięcia w każdą stronę. W ten sposób dostajemy 3 segmenty w kierunku pionowym i poziomym, na których rozpinamy funkcje T-spline zgodnie ze wzorem na funkcje B-spline. Bierzemy po prostu 4 punkty i wsadzamy do wzoru na funkcje B-spline.
Proces określania segmentów pionowych i poziomych dla funkcji T-spline zilustrowany jest na Rys. 1.

Rozpinanie funkcji T-spline na dwuwymiarowej siatce adaptowanej w kierunku brzegu.
Rysunek 1: Rozpinanie funkcji T-spline na dwuwymiarowej siatce adaptowanej w kierunku brzegu.

Taki sposób definicji funkcji T-spline na siatce adaptowanej w kierunku punktu, tak jak przedstawiono to na Rys. 1 posiada jedną wadę. Zauważmy, że jeśli będziemy chcieli zastosować nasze funkcje T-spline do aproksymacji, będziemy musiei zbudować macierz w której wiersze i kolumny reprezentują poszczególne funkcje T-spline, natomiast wyrazy tej macierzy oznaczają całki z iloczynów tych funkcji i ich wartości. Całki te są niezerowe jeśli odpowiadające im funkcje T-spline przecinają się. Dla przykładowego zestawu funkcji T-spline wygenerowana macierz (na przykład dla problemu projekcji bitmapy lub dla problemu transportu ciepła) wygląda tak jak przestawiono to na Rys. 1. Widać że macierz ta jest stosunkowo gęsta.
W celu zredukowania obszarów na których określone są funkcje T-spline, wprowadza się rozszerzenia przedłużające krawędzie na których wiszą węzły w siatce adaptacyjnej (po angielsku te przedłużenia nazywa się "T-junction extensions"). Jest to zilustrowane na Rys. 2. Po zmodyfikowaniu siatki, przez dodanie tych dodatkowych krawędzi, mówi się że siatka jest teraz "odpowiednia do analizy" (po angielsku "analysis suitable"). Idea algorytmu modyfikacji siatki pod funkcje T-spline opisana jest szczegółowo w pracy [4].

Siatka z dodanymi rozszerzeniami wiszących węzłów (T-junction extensions).
Rysunek 2: Siatka z dodanymi rozszerzeniami wiszących węzłów (T-junction extensions).

Po zmodyfikowaniu siatki, generujemy nowe funkcje T-spline, patrz Rys. 3.

Funkcje T-spline rozpięta na siatce zmodyfikowanej dla potrzeb analizy numerycznej poprzez dodanie rozszerzeń krawędzi wiszących węzłów (analysis suitable mesh with T-junction extensions)
Rysunek 3: Funkcje T-spline rozpięta na siatce zmodyfikowanej dla potrzeb analizy numerycznej poprzez dodanie rozszerzeń krawędzi wiszących węzłów (analysis suitable mesh with T-junction extensions)

Nowo wygenerowane funkcje T-splines generują siatkę obliczeniową która jest większa ale żadsza, tak jak przedstawiono to na Rys. 4.

Macierz wygenerowana ze zmodyfikowanych funkcji T-splines.
Rysunek 4: Macierz wygenerowana ze zmodyfikowanych funkcji T-splines.

Ostatnio zmieniona Niedziela 19 z Wrzesień, 2021 08:50:09 UTC Autor: Maciej Paszynski
Zaloguj się/Zarejestruj w OPEN AGH e-podręczniki
Czy masz już hasło?

Hasło powinno mieć przynajmniej 8 znaków, litery i cyfry oraz co najmniej jeden znak specjalny.

Przypominanie hasła

Wprowadź swój adres e-mail, abyśmy mogli przesłać Ci informację o nowym haśle.
Dziękujemy za rejestrację!
Na wskazany w rejestracji adres został wysłany e-mail z linkiem aktywacyjnym.
Wprowadzone hasło/login są błędne.